Skip to content

fix(update): GNU/MUSL fallback for autoupdate and release pipeline#790

Closed
AlexMikhalev wants to merge 5 commits intomainfrom
fix/autoupdate-gnu-musl-fallback
Closed

fix(update): GNU/MUSL fallback for autoupdate and release pipeline#790
AlexMikhalev wants to merge 5 commits intomainfrom
fix/autoupdate-gnu-musl-fallback

Conversation

@AlexMikhalev
Copy link
Copy Markdown
Contributor

Summary

Fix for autoupdate failing when releases only publish MUSL binaries (missing GNU binaries).

Root Cause

  1. Stale Rust cache caused GNU build to use old cached binary (v1.16.30) instead of building fresh (v1.16.31)
  2. Version verification step failed → GNU binary artifacts not uploaded to release
  3. Autoupdate looked for GNU → 404 error

Changes

  1. Skip Rust cache for x86_64-unknown-linux-gnu (release-comprehensive.yml:157)

    • Forces fresh build for GNU target, avoiding stale artifacts
  2. Prioritize signed archives over raw binaries (terraphim_update/src/lib.rs:644-667)

    • Archives (.tar.gz) contain Ed25519 signatures and are verified before install
    • Raw binaries are fallback only
  3. Add MUSL SHA256 fallback for Homebrew (release-comprehensive.yml:735-756)

    • Extract actual SHA256 values for Linux binaries
    • Fall back to MUSL if GNU not available

Verification

  • cargo check -p terraphim_update passes
  • cargo test -p terraphim_update passes (28 tests)
  • Pre-commit hooks pass

Testing

Can be validated by:

  1. Creating a tag and watching the release workflow
  2. Running terraphim-agent check-update after downgrade to verify fallback

Refs #791

Alex and others added 4 commits April 12, 2026 11:03
- Fix Gitea paging and claim verification functionality
- Update orchestrator control plane and dual mode handling
- Adjust output poster implementation
- Update dependencies across affected crates
- Add test_ranking_kg.md documentation file
- Add events.rs module for control plane event handling
Keep the listener cursor stable across transient fetch and claim failures, honor agent aliases, and ignore self-authored acknowledgements so summons are not lost or looped. Also make performance benchmark baselines schema-safe and clear the current routing test lint failures so PR validation can pass.
@AlexMikhalev
Copy link
Copy Markdown
Contributor Author

PR Split Complete

This PR has been split into 4 atomic PRs for clean review:

PR Title Files Lines
#793 fix(tracker): restore Gitea paging, claim verification, and symphony adapter 7 +1,027/-98
#791 fix(update): GNU/MUSL fallback for autoupdate and release pipeline 4 +141/-65
#792 fix(misc): benchmark baseline schema, validation threshold, KG docs 4 +142/-11
#794 feat(agent): add event-driven listener with durable retries 7 +2,329/-14

Merge order: #793 and #791 are independent. #794 depends on #793. #792 is independent.

All pass pre-commit checks (fmt, clippy, build, test).

This PR can be closed once the above are merged.

@AlexMikhalev
Copy link
Copy Markdown
Contributor Author

Closing as superseded by #791.

#791 is the canonical GNU/MUSL fallback update PR and has already been refreshed against current main and merged.

This branch still carries unrelated stale tracker/listener/performance history beyond the intended update fix, so keeping it open would only preserve duplicate and wrong-scope changes in the queue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant